﻿using SmartHotel.Dto;
using SmartHotel.House.Dto;
using SmartHotel.Menu;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;

namespace SmartHotel.House
{
    public interface ISmartHotelAppHouseService:IApplicationService
    {

        Task<ResultDto<HouseDto>> GetHouseAsync();
        /// <summary>
        /// 获取房型信息
        /// </summary>
        /// <returns></returns>
        Task<PageDto<HouseDto>> GetUserHouseAsync(int pageIndex, int pageSize, string HouseName);
        /// <summary>
        /// 添加房型
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        Task<ResultDto<CreateUpdateHouse>> CreateHouseAsync(CreateUpdateHouse model);
        /// <summary>
        /// 删除房型
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<ResultDto<int>> DeleteHouseAsync(int id);
        /// <summary>
        /// 修改房型信息
        /// </summary>
        /// <param name="id"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        Task<ResultDto<CreateUpdateHouse>> UpdateHouseAsync(CreateUpdateHouse model);
        /// <summary>
        /// 修改自定义价格
        /// </summary>
        /// <param name="id"></param>
        /// <param name="CustomPrice"></param>
        /// <returns></returns>
        Task<ResultDto<int>> UpdateAVHouseAsync(int id, decimal CustomPrice);
        /// <summary>
        /// 根据id查询房型信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<ResultDto<UserRoleDto>> GetHouseFindId(int id);
        /// <summary>
        /// 批量删除
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        Task<ResultDto<int>> PostDeleteBatchHouse(int[] ids);
        Task<ResultDto<int>> PutHousenum(int id, int houserank);
    }
}
